package com.demo.java.OD151_200.OD157;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【运动会】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145759575
 */
public class OdMain {
    public static void main(String[] args) {
        try (Scanner s = new Scanner(System.in)) {
            // 读取学生的数量
            int n = Integer.parseInt(s.nextLine());

            // 读取身高和体重
            String heights = s.nextLine();
            String weights = s.nextLine();

            // 调用解题方法
            solveMethod(n, heights, weights);
        }
    }

    private static void solveMethod(int n, String heights, String weights) {
        // 将身高和体重分别拆分为数组
        String[] heightsArr = heights.split(" ");
        String[] weightsArr = weights.split(" ");

        // 创建一个二维数组，存储学生编号、身高和体重
        int[][] ints = new int[n][3];
        for (int i = 0; i < n; ++i) {
            ints[i][0] = i + 1;  // 学生编号，从1开始
            ints[i][1] = Integer.parseInt(heightsArr[i]);  // 身高
            ints[i][2] = Integer.parseInt(weightsArr[i]);  // 体重
        }

        // 排序，首先按身高升序排列，如果身高相同，则按体重升序排列
        Arrays.sort(ints, (stu1, stu2) -> stu1[1] == stu2[1] ? stu1[2] - stu2[2] : stu1[1] - stu2[1]);

        // 输出排序后的学生编号
        for (int i = 0; i < n; ++i) {
            System.out.print(ints[i][0]);  // 输出学生编号
            if (i != n - 1) {
                System.out.print(" ");  // 不同编号之间加空格
            }
        }
    }
}